The computing industry is evolving to a model of computing where the bulk of storage and computing occur at a datacenter or in the “cloud” (e.g., networked, Internet-accessible storage) and rich user experiences can be remoted to the user's location, using client devices of many different form factors. Significant advancements in virtualization infrastructure, networking infrastructure, as well as the diversity and proliferation of highly capable and portable client devices, have made such remote access highly viable and desirable. For example, it is not uncommon for employees, especially of large organizations, to work remotely and still desire and/or require use of their desktops and applications at their home offices. This has become possible through virtualization technology that allows a user's desktop and applications to be run in a datacenter while the actual user interface (the input/output—“I/O”—to the desktop and applications) is mimicked on a remote client device. Mimicking of the user interface is accomplished by “remoting” the user interface—that is directing (e.g., sending, forwarding, transmitting, communicating, or the like) screen output to the remote device (for example, to a display associated with the client device) and receiving input device data from the remote device (for example, through keyboard, mouse, touch, or other device input). The entire desktop (for example, the user interface of an operating system running on a host computing system or virtualization server) or a single application running on the desktop may be remoted on devices such as smart phones, tablets, notebook personal computers (PCs), desktop PCs, smart TVs, other form-factor computing devices, and the like.
Some challenges, including the latency of data arriving to and from such client devices, which impact the user experience, remain. Latency may be a result of limitations of the client devices and/or the networks connecting the client devices to the servers where the desktops and/or applications are running (or hosted). In addition, some networks and/or client devices have bandwidth limitations that can make it difficult to present a rich user interface experience in a responsive way. The more data that needs to be transferred quickly to a client device, the more likely latency and bandwidth limitations are encountered.